Spring 解体新書 第 2 版
名称? : 後悔しないための Spring Boot 入門書 : Spring 解体新書 (第 2 版) : Spring Boot が丸分かり Spring 解体新書
キーワード : Spring Boot、Spring
著 : 田村達也
https://m.media-amazon.com/images/I/51WywNmQaUL._SY346_.jpg
Amazon : https://amzn.to/3SXJyiQ
感想
『Java を使うプロジェクトでは Spring Boot を必ず使います』 とか書かれてるが、この本は大丈夫か??
あと、Spring Boot のことを 「SpringBoot」 って表記をしているのも気になる
全体的に趣味プログラマー向けというレベルの内容、プロの開発者にはあまり役に立たない
一通り、web アプリケーション開発に必要な機能と使い方を紹介します、というレベル
あくまでひとつのやり方を紹介しているだけなので、説明内容にあまり価値はない
Spring がどういう機能を提供しているかというのを知れるという点では価値があるが、その内容もあまり褒めらえたものではない
Spring の全体像の説明がほとんどないし、紹介される機能が Spring のどのプロジェクトのものなのかもわからないことが多い
本書で使われているバージョン
バージョン
Spring 5 系
Spring Boot 2.4.1
データベース : H2
1 章 Spring の概要
Spring とは
Spring Boot とは
2 章 開発環境の構築
Spring には 2 種類の Eclipse がある (nobuoka.icon 表現が気になるんだよな……)
通常の Eclipse にプラグインを導入 : Spring Tools
Spring 専用の Eclipse : Spring Tool Suite (STS)
Lombok も
本書で使用するライブラリ
開発ツール
Spring Boot DevTools
Lombok
SQL
JDBC API
Spring Data JDBC
H2 Database
テンプレートエンジン
Thymeleaf
Web
Spring Web (nobuoka.icon Spring Web MVC が正式名称?)
3 章 Hello World … 簡単なサンプル
Eclipse で実行するには、メニューの 「実行」 から 「Spring Boot アプリケーション」 を選択
以下のプロパティを設定することで起動時に DB を初期化
code:application.properties
spring.datasource.initialize=true
spring.datasource.scheme=classpath:scheme.sql
spring.datasource.data=classpath:data.sql
nobuoka.icon Spring Boot 2.3 では spring.datasource.initialize は使えなくなっていて、代わりに spring.datasource.initialization-mode を使うっぽい
https://www.tenohira.xyz/tech/spring-datasource-initialize/
@Repository アノテーションと JdbcTemplate
これらは Spring Framework のデータアクセスの機能っぽい
nobuoka.icon 本書では 『DB 操作を表すリポジトリには @Repository アノテーションを付けます』 って書かれているが、理由がなくて片手落ち感
4 章 Web アプリケーションの概要
5 章 Dependency Injection (依存性の注入)
依存注入 (DI) は Spring の土台
Spring Framework の IoC コンテナ
6 章 バインド & バリデーション (入力チェック)
webjars で Bootstrap を利用
Spring Framework の多言語対応 (MessageSource の利用)
Thymeleaf の中から直接 messages.properties の中の値を参照してるっぽいが、これはどういう機構なんだろ
nobuoka.icon Spring Boot の機能なのかな??
バインドする Java クラスは Model に登録
Thymeleaf では th:field を使用
バリデーション
BindingResult でエラーが起きたか判断
@GroupSequence アノテーションでバリデーションの順番を制御
th:errors でエラーメッセージを取得できる、th:errorclass でエラー時の CSS クラスを追加
7 章 画面レイアウト
layout:replace でレイアウト (タグを丸ごと入れ替える)
layout:fragment というのもある (タグの中に追加する)
8 章 MyBatis
MyBatis とは
@Mapper アノテーション
Spring におけるトランザクションの管理
2 種類
明示的トランザクション
宣言的トランザクション
9 章 AOP
アスペクト指向プログラミング (AOP)
10 章 エラー処理
2 種類のエラー画面
共通エラー画面
HTTP エラーごとのエラー画面
11 章 Spring セキュリティ
Spring Security について
12 章 REST
REST とは
Spring における REST
13 章 Spring Data JPA
JPA とは
Spring Data について
#書籍 #文献